﻿using System.Collections.Generic;
using Utility;

namespace BlizzardApi.Model
{
    public class Guild
    {
        public string Name { get; set; }
        public int Level { get; set; }
        public Faction Side { get; set; }
        public int AchievementPoints { get; set; }
        public IEnumerable<GuildMembership> Members { get; set; }
        public GuildAchievements Achievements { get; set; }
    }

    public class GuildAchievements
    {
        public IEnumerable<int> AchievementsCompleted { get; set; }
        public IEnumerable<UnixTimestamp> AchievementsCompletedTimestamp { get; set; }
        public IEnumerable<int> Criteria { get; set; }
        public IEnumerable<int> CriteriaQuantity { get; set; }
        public IEnumerable<UnixTimestamp> CriteriaTimestamp { get; set; }
        public IEnumerable<UnixTimestamp> CriteriaCreated { get; set; }
    }

    public class GuildMembership
    {
        public GuildCharacter Character { get; set; }
        public int Rank { get; set; }
    }

    public class GuildCharacter
    {
        public string Name { get; set; }
        public string Realm { get; set; }
        public int Class { get; set; }
        public int Race { get; set; }
        public string Gender { get; set; }
        public int Level { get; set; }
        public int AchievementPoints { get; set; }
        public string Thumbnail { get; set; }
    }
}
